package com.zeyun.EasyOnlineShareCloud.dto.resp.admin;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;

/**
 * 文件响应DTO
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class FileRespDTO {
    /**
     * 文件ID
     */
    private String id;

    /**
     * 文件名
     */
    private String fileName;

    /**
     * 文件大小(字节)
     */
    private Long fileSize;

    /**
     * 文件类型：document-文档，image-图片，video-视频，audio-音频，archive-压缩包，other-其他
     */
    private String fileType;

    /**
     * 文件扩展名
     */
    private String fileExt;

    /**
     * 上传者ID
     */
    private String uploaderId;
    
    /**
     * 上传者用户名
     */
    private String uploaderName;

    /**
     * 访问码
     */
    private String accessCode;

    /**
     * 下载次数
     */
    private Integer downloadCount;

    /**
     * 过期时间
     */
    private Date expireTime;

    /**
     * 状态：active-有效，expired-过期，used-已使用
     */
    private String status;

    /**
     * 使用次数限制（0表示不限制）
     */
    private Integer usageLimit;

    /**
     * 已使用次数
     */
    private Integer usedCount;

    /**
     * 审核状态：pending-待审核，approved-已通过，rejected-已拒绝
     */
    private String auditStatus;
    
    /**
     * 创建时间
     */
    private Date createTime;
    
    /**
     * 更新时间
     */
    private Date updateTime;
}